/*
 * Pronabe.h
 *
 *  Created on: Nov 8, 2012
 *      Author: Carlos Alegría
 */

#ifndef PRONABE_H_
#define PRONABE_H_

#include "Beca.h"

namespace poo
{

  /**
   * Beca otorgada por el programa Pronabe
   */
  class Pronabe : public poo::Beca
  {
  public:

    /**
     * Crea una Beca otorgada por el programa Pronabe con los parámetros
     * especificados
     *
     * @param [in] nombre       El nombre de la Beca
     * @param [in] nivel        El nivel de estudios para el cual se otorga la
     *                          beca
     */
    Pronabe(const string &nombre, NivelDeEstudios nivel);

    /**
     * Destructor de la clase
     */
    virtual
    ~Pronabe();

    /**
     * Calcula la cantidad de dinero que será otorgada por la Beca según el
     * promedio especificado. Si el promedio es mayor o igual que 8 y menor que
     * 10, la cantidad que otorga decrece linealmente con el promedio desde
     * la máxima posible. La cantidad máxima posible es de $5,000, $8,000 y
     * $10,000 si el nivel de estudios es licenciatura, maestría, y doctorado,
     * respectivamente.
     *
     * @param [in] promedio     El promedio que obtuvo el estudiante al que se
     *                          le otorgó la beca
     * @returns la cantidad de dinero que será otorgada por esta Beca
     */
    virtual float
    calcularCantidad(float promedio);
  };

} /* namespace poo */
#endif /* PRONABE_H_ */
